//TODO 泛型类
/*TODO
*  定义一个类,类中的属性值的类型是不确定的,方法中的参数以及返回值的类型也是不去确定的*/
(()=>{
//定义一个泛型类
    class GenericNumber<T>{
        defaultValue: T | undefined
        add: ((x: T, y: T) => T) | undefined
    }

    //实例化类的对象的时候,在确定泛型的类型
    const g1 = new GenericNumber<number>()
    //设置属性值
    g1.defaultValue=100
    //添加的方法
    g1.add=function (x,y){
        return x+y
    }
    console.log(g1.add(10,20))
})()
